# 导入必要的库和模块
import gradio as gr
import pickle
import numpy as np
#from skimage import transform
# 加载保存的KNN模型，这样我们可以使用预训练的模型进行预测
with open('best_knn_model.pkl', 'rb') as f:
    knn = pickle.load(f)

# 定义预测函数，这个函数将用于Gradio接口进行预测
def predict(image):
    # 将图像大小调整为8x8
    #image = transform.resize(image, (8, 8))
    image = image.reshape(1, -1)
    prediction = knn.predict(image)
    return int(prediction[0])

# 创建Gradio接口，这个接口将用于用户输入和显示预测结果
iface = gr.Interface(fn=predict, inputs='sketchpad', outputs='label')

# 启动Gradio接口，用户可以通过这个接口进行交互
iface.launch()